Skip to content

Conversation

@m-alperen-sener
Copy link
Contributor

Deprecating BT_FIXED_PASSKEY and start using BT_APP_PASSKEY instead.

Manifest update to depracate and replace BT_FIXED_PADDKEY

Signed-off-by: alperen sener <[email protected]>
@m-alperen-sener m-alperen-sener requested review from a team as code owners November 4, 2025 16:10
@NordicBuilder NordicBuilder added manifest changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Nov 4, 2025
@NordicBuilder NordicBuilder requested a review from a team November 4, 2025 16:10
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Nov 4, 2025

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
zephyr nrfconnect/sdk-zephyr@cefb2ed nrfconnect/sdk-zephyr#3466 nrfconnect/sdk-zephyr#3466/files

DNM label due to: 1 project with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@NordicBuilder
Copy link
Contributor

NordicBuilder commented Nov 4, 2025

CI Information

To view the history of this post, click the 'edited' button above
Build number: 3

Inputs:

Sources:

sdk-nrf: PR head: d30f08599c00858c5e1709d58db22f4575350576
zephyr: PR head: e84fa1b4757a94c7a7595769049c9a4e492b8862

more details

sdk-nrf:

PR head: d30f08599c00858c5e1709d58db22f4575350576
merge base: c14c9f573b6cd87187f57c0d9f956011d0b42e0a
target head (main): 9398c96d435608c247fe500d4edf345a0f3b32eb
Diff

zephyr:

PR head: e84fa1b4757a94c7a7595769049c9a4e492b8862
merge base: a9bbd349efde16d5b89d65ce369c307a422327b9
target head (main): d016c1f323d2527770d234ec89ca4e47e4f94163
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (20)
doc
│  ├── nrf
│  │  ├── libraries
│  │  │  ├── bluetooth
│  │  │  │  ├── mesh
│  │  │  │  │  ├── vnd
│  │  │  │  │  │  ├── images
│  │  │  │  │  │  │  │ bt_mesh_le_pair_resp.svg
│  │  │  │  │  │  │ le_pair_resp.rst
│  │  ├── releases_and_maturity
│  │  │  ├── releases
│  │  │  │  │ release-notes-changelog.rst
include
│  ├── bluetooth
│  │  ├── mesh
│  │  │  ├── vnd
│  │  │  │  │ le_pair_resp.h
samples
│  ├── bluetooth
│  │  ├── mesh
│  │  │  ├── common
│  │  │  │  │ smp_bt_auth.c
│  │  │  ├── dfu
│  │  │  │  ├── distributor
│  │  │  │  │  │ overlay-smp-bt-auth.conf
│  ├── matter
│  │  ├── common
│  │  │  ├── src
│  │  │  │  ├── bt_nus
│  │  │  │  │  ├── bt_nus_service.cpp
│  │  │  │  │  │ bt_nus_service.h
│  │  ├── lock
│  │  │  │ sample.yaml
subsys
│  ├── bluetooth
│  │  ├── mesh
│  │  │  ├── vnd
│  │  │  │  ├── Kconfig
│  │  │  │  │ le_pair_resp.c
west.yml
zephyr
│  ├── doc
│  │  ├── releases
│  │  │  │ migration-guide-4.3.rst
│  ├── include
│  │  ├── zephyr
│  │  │  ├── bluetooth
│  │  │  │  │ conn.h
│  ├── subsys
│  │  ├── bluetooth
│  │  │  ├── host
│  │  │  │  ├── Kconfig
│  │  │  │  ├── shell
│  │  │  │  │  │ bt.c
│  │  │  │  │ smp.c
│  ├── tests
│  │  ├── bluetooth
│  │  │  ├── shell
│  │  │  │  ├── audio.conf
│  │  │  │  ├── log.conf
│  │  │  │  │ prj.conf

Outputs:

Toolchain

Version: df3cc9d822
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:df3cc9d822_e595b21c39

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • 🟡 Build twister
    • sdk-nrf test count: 1281
    • sdk-zephyr test count: 677
  • 🟠 Integration tests
    • 🟠 test-sdk-audio
    • 🟠 desktop52_verification
    • 🟠 test_ble_nrf_config
    • 🟠 test-fw-nrfconnect-ble_mesh
    • 🟠 test-fw-nrfconnect-ble_samples
    • 🟠 test-fw-nrfconnect-chip
    • 🟠 test-fw-nrfconnect-nfc
    • 🟠 test-fw-nrfconnect-nrf-iot_thingy91
    • 🟠 test-sdk-find-my
    • 🟠 test-low-level
    • 🟠 test-sdk-dfu
Disabled integration tests
    • test-fw-nrfconnect-nrf_lrcs_positioning
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-ps-main
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-thread-main
    • test-sdk-mcuboot
    • test-sdk-wifi
    • test-secdom-samples-public

Note: This message is automatically posted and updated by the CI

@github-actions
Copy link

github-actions bot commented Nov 4, 2025

You can find the documentation preview for this PR here.

endif # BT_MESH_DM_SRV

config BT_MESH_LE_PAIR_RESP
bool "LE Pairing Responder model"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bool "LE Pairing Responder model"
bool "LE Pairing Responder model [EXPERIMENTAL]"

Copy link
Contributor

@omkar3141 omkar3141 Nov 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why 'Experimental'? Using this model allows fixed passkey to be not used by virtue of the architecture. Specification does not say that one should remove API or change APIs, the specification gives guideline that fixed passkey is not allowed. This model along with the underlaying API creates a system that make fulfilling this requirement possible.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess, because it has experimental tag. Either we have to remove it or add what @nordicjm requested.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, if you select EXPERIMENTAL then you should clearly mark it as experimental in the title, that is the convention

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll do that 👍

Copy link
Contributor

@PavelVPV PavelVPV left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think smp_bt_auth.c for sure should not use the deprecated API and should only be compiled with CONFIG_BT_APP_PASSKEY.

But also I think that since the LE Pairing Responder model is experimental, it is OK to change it is behavior and API without deprecation period. But we need to mention this change in the release notes.

Also, remember to update documentation of the model: https://github.com/nrfconnect/sdk-nrf/blob/main/doc/nrf/libraries/bluetooth/mesh/vnd/le_pair_resp.rst.

@m-alperen-sener m-alperen-sener force-pushed the deprace_bt_fixed_appkey branch from 2999999 to 0d6a557 Compare November 5, 2025 15:56
@m-alperen-sener m-alperen-sener requested review from a team as code owners November 5, 2025 15:56
@NordicBuilder NordicBuilder added doc-required PR must not be merged without tech writer approval. and removed changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Nov 5, 2025
@NordicBuilder NordicBuilder requested review from a team November 5, 2025 15:56
Copy link
Contributor Author

@m-alperen-sener m-alperen-sener left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the documentation and added release notes for DFU distributer sample and LE Pair Responder model.

Remove all dependency on deprecated FIXED_PASSKEY, solely it depends on APP_PASSKEY now.

Removed immediate invalidation of passkey.

Update the Documentation diagram.

added commit to update matter door lock sample.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we show the usage of bt_mesh_le_pair_resp_passkey_get function on diagram? In the app_passkey callback.

Copy link
Contributor

@ArekBalysNordic ArekBalysNordic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some changes are required in the Matter Lock sample.

Comment on lines 233 to 241
uint32_t NUSService::AuthAppPasskey(bt_conn *conn)
{
return CONFIG_CHIP_NUS_FIXED_PASSKEY;
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uint32_t NUSService::AuthAppPasskey(bt_conn *conn)
{
return CONFIG_CHIP_NUS_FIXED_PASSKEY;
}
#if defined(CONFIG_BT_APP_PASSKEY)
uint32_t NUSService::AuthAppPasskey(bt_conn *conn)
{
return CONFIG_CHIP_NUS_FIXED_PASSKEY;
}
#endif /* CONFIG_BT_APP_PASSKEY */

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as:

static uint32_t AuthAppPasskey(bt_conn *conn);

@@ -31,6 +31,7 @@ BT_CONN_CB_DEFINE(conn_callbacks) = {
bt_conn_auth_cb Nrf::NUSService::sConnAuthCallbacks = {
.passkey_display = AuthPasskeyDisplay,
.cancel = AuthCancel,
.app_passkey = AuthAppPasskey,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.app_passkey = AuthAppPasskey,
#if defined(CONFIG_BT_APP_PASSKEY)
.app_passkey = AuthAppPasskey,
#endif /* CONFIG_BT_APP_PASSKEY */

@@ -381,6 +390,8 @@ Bluetooth Mesh samples
* Updated the :makevar:`FILE_SUFFIX` make variable to use more descriptive suffixes for external flash configurations.
The new suffixes are ``_dfu_ext_flash`` for external flash DFU storage and ``_ext_flash_settings`` for external flash settings storage.

* Updated the sample to use the :kconfig:option:`CONFIG_BT_APP_PASSKEY` option instead of the deprecated :kconfig:option:`CONFIG_BT_FIXED_PASSKEY` option.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add the same release note entry to the Matter sample below this line: https://github.com/nrfconnect/sdk-nrf/blob/main/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst?plain=1#L568

 * Updated to use the :kconfig:option:`CONFIG_BT_APP_PASSKEY` option instead of the deprecated :kconfig:option:`CONFIG_BT_FIXED_PASSKEY` option.

BT_FIXED_PASSKEY is depracated so wee need to aling the le pair
responder model with the new Kconfig BT_APP_PASSKEY usage.

Adding bt_mesh_le_pair_resp_passkey_get to be able to retreive
the passkey set randomly or by app.

Signed-off-by: alperen sener <[email protected]>
BT_FIXED_PASSKEY is deprecated, thus we start using BT_APP_PASSKEY

Signed-off-by: alperen sener <[email protected]>
BT_FIXED_APPKEY is deprecated.

Signed-off-by: alperen sener <[email protected]>
@m-alperen-sener m-alperen-sener force-pushed the deprace_bt_fixed_appkey branch from 0d6a557 to d30f085 Compare November 6, 2025 08:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DNM doc-required PR must not be merged without tech writer approval. manifest manifest-zephyr

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants